﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace proyectoENS
{
    class DALProfesores
    {
        private static proyectoENSEntities db = new proyectoENSEntities();
        public static void nuevoProfesor(Profesores unProfesor)
        {
            db.Profesores.AddObject(unProfesor);
            db.SaveChanges();
            
        }
        public static Profesores getProfesorByDni(string dni)
        {
            Profesores temp = (from p in db.Profesores
                               where p.dni == dni
                               select p).FirstOrDefault<Profesores>();
            return temp;
        }
        public static Profesores getProfesorById(int idProf)
        {
            var tmp = (from p in db.Profesores
                         where p.idProfesor == idProf
                         select p).FirstOrDefault<Profesores>();
            return tmp;
        }
        public static List<Profesores> getProfesores()
        {
            var lista = (from p in db.Profesores
                         select p).ToList<Profesores>();
            return lista;
        }
        public static List<Profesores> getProfesoresByApellido(string apellido)
        {
            var lista = (from p in db.Profesores
                         where p.apellidos.StartsWith(apellido)
                         select p).ToList<Profesores>();
            return lista;
        }
        public static List<Profesores> getProfesroesByDni(string dni)
        {
            var lista = (from p in db.Profesores
                         where p.dni.StartsWith(dni)
                         select p).ToList<Profesores>();
            return lista;
        }
        public static List<Profesores> getProfesoresByNombre(string nombre)
        {
            var lista = (from p in db.Profesores
                         where p.nombres.StartsWith(nombre)
                         select p).ToList<Profesores>();
            return lista;
        }
        public static List<Profesores> getProfesoresByLegajo(string legajo)
        {
            var lista = (from p in db.Profesores
                         where p.legajo.StartsWith(legajo)
                         select p).ToList<Profesores>();
            return lista;
        }
        public static int editarProfesor(Profesores unProf)
        {
            var prof = (from p in db.Profesores
                         where p.dni == unProf.dni
                         select p).FirstOrDefault<Profesores>();
            if (prof == null)
                return -1;
            prof.apellidos = unProf.apellidos;
            prof.barrio = unProf.barrio;
            prof.direccion = unProf.direccion;
            prof.fechaNac = unProf.fechaNac;
            prof.idEstadoC = unProf.idEstadoC;
            prof.legajo = unProf.legajo;
            prof.localidad = unProf.localidad;
            prof.mail = unProf.mail;
            prof.nombres = unProf.nombres;
            prof.telCel = unProf.telCel;
            prof.telFijo = unProf.telFijo;
            return db.SaveChanges();

        }
        public static List<String> getApellidoNombre()
        {
            var lista = (from p in db.Profesores
                         select p.apellidos + ", " + p.nombres).ToList<String>();
            return lista;
        }

    }

}
